package com.followmeandroid.messages;

import java.util.Date;

/**
 * <p>Title: AddLocationRequest</p>
 * <p>Description: This class contains the data necessary
 * to send the server for a location request</p>
 * @author Adam Drews
 * @email adam.drews@my.uwrf.edu
 * @date 11/17/2014
 * @team Tyler Johnson
 * @email tyler.johnson@my.uwrf.edu
 * @team Nicholas Thorp
 * @team nicholas.thorp@my.uwrf.edu
 */
public class AddLocationRequest extends ARequestBase {
    private double lattitude;

    private double longitude;

    private String note;

    private Date date;

    /**
     * Constructer for an add location request. Takes the
     * latitude, longitude, a note about the location, and
     * the current date as parameters.
     * @param lat       The latitude of the location.
     * @param longIn    The longitude of the location.
     * @param noteIn    A comment/note about the location.
     * @param dateIn    The current date for the requested location.
     */
    public AddLocationRequest(double lat, double longIn, String noteIn, Date dateIn){
        lattitude = lat;
        longitude = longIn;
        note = noteIn;
        date = dateIn;
    }

    /**
     * Returns the latitude for the location request.
     * @return lattitude    The latitude of the location.
     */
    public double getLattitude() {
        return lattitude;
    }

    /**
     * Sets the latitude of the location request.
     * @param lattitude     The latitude to be used in the request.
     */
    public void setLattitude(double lattitude) {
        this.lattitude = lattitude;
    }

    /**
     * Returns the longitude for the location request.
     * @return longitude    The longitude of the location.
     */
    public double getLongitude() {
        return longitude;
    }

    /**
     * Sets the longitude of the location request.
     * @param longitude     The longitude to be used in the request.
     */
    public void setLongitude(double longitude) {
        this.longitude = longitude;
    }

    /**
     * Returns a note for the location request.
     * @return note     A note/comment about the location request.
     */
    public String getNote() {
        return note;
    }

    /**
     * Sets the contents of the note for the location request.
     * @param note      The contents of the location's note/comment.
     */
    public void setNote(String note) {
        this.note = note;
    }

    /**
     * Returns the date for the location request.
     * @return date     The date of the location request.
     */
    public Date getDate() {
        return date;
    }

    /**
     * Sets the date for the location request.
     * @param date      The date to be used for the location request.
     */
    public void setDate(Date date) {
        this.date = date;
    }
}
